#include <iostream>
using namespace std;
namespace pointer_and_variable{
    class Test{
    public:
        Test();
        ~Test();
    };
    Test::Test(){
        cout << "Constructor" << endl;
    }
    Test::~Test(){
        cout << "Destructor" << endl;
    }
}
pointer_and_variable::Test* usingClass(){
    //Đối tượng testone sẽ bị hủy khi ra khỏi phạm vi hàm
    pointer_and_variable::Test testone;
    //Đối tượng con trỏ này là cấp phát động lên sẽ không tự hủy
    pointer_and_variable::Test* testtwo = new  pointer_and_variable::Test();
    return testtwo;
}
/*
int main(){
    pointer_and_variable::Test* test = usingClass();
    cout << "Out of function usingClass()" << endl;
    delete test;//Xóa vùng nhớ cấp phát :D
    return 0;
}**/
/*
Constructor
Constructor
Destructor
Out of function usingClass()
Destructor
 **/
